//
//  main.m
//  Day6
//
//  Created by dllo on 16/5/12.
//  Copyright © 2016年 lanou. All rights reserved.
//

#import <Foundation/Foundation.h>

#pragma mark - 函数的声明和定义
//函数的定义满足四要素;返回值,函数名,参数列表,函数体
void sayHello(void) {
    printf("Hello\n");
}

//    返回值 函数名(参数列表) {
//        函数体
//    }
    // 返回值: 有就写对应的数据类型,没有就写void
    // 函数名: 见名知意,知道这个函数的功能,它也是一个标识符
    // 参数列表: 在将来函数调用时会用到的一些辅助的数据,有就写对应的数据类型,没有就写void,不写也可以  int a  int b,多个参数之间用逗号隔开
    // 函数体: 实现函数的功能
    // return :1.返回数据给函数的调用者
    //          2.结束函数

// 写一个函数求两个整数的和

//int getSum(int a, int b) {
//    int sum = 0;
//    sum = a + b;
//    return sum;
//}

#pragma mark - 函数类型
    // 1. 无参数无返回值函数

void noCanShu () {
    
}
    // 2. 有参数无返回值函数
void youCanShu (int a) {
    
}
    // 3. 无参数有返回值函数
int youFanHui () {
    int c = 15;
    return 0;
}
    // 4. 有参数有返回值函数
int getSum(int a, int b) {
    return a + b;
}


// 函数的声明  //参数的名字可以省略,但是类型不能省
int getJi (int a, int b);

int main(int argc, const char * argv[]) {
    
    
    
#pragma mark - 函数
    // 函数: 用于完成某些特定功能的代码片段
    // 优点: 1.可以将重复的代码写成函数,提高代码的复用性
    //      2.提高代码的可读性,提高开发效率
    
    //函数不能返回数组

#pragma mark - 函数的调用
    // 函数名 + (参数列表) ;
    getJi(3, 4);
    
    return 0;
}
int getJi (int a, int b) {
    return a * b;
}





